package com.moliku.insurance.common.util;

import java.math.BigDecimal;

/**
 * BigDecimal 工具类
 *
 * @author Mr.Liu
 * @since 2021/3/2
 */
public class BigDecimalUtils {
    private BigDecimalUtils() {
    }

    /**
     * 分润值计算
     *
     * @param premium 保费
     * @param ratio   所占比例
     * @return 分润值
     */
    public static BigDecimal calculateRatio(BigDecimal premium, double ratio) {
        return premium.divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(ratio));
    }

    /**
     * 计算税后的金额
     *
     * @param premium 保费
     * @param tax     所占比例
     * @return 税后金额
     */
    public static BigDecimal calculateAfterTax(BigDecimal premium, double tax) {
        //需要扣减的金额
        BigDecimal decimal = premium.divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(tax));
        return premium.subtract(decimal);
    }

}
